<?php
/**
 * 产品中心功能类文件
 * @author		Arthur(ArthurXF@gmail.com)
 * @copyright	(c) 2006 by bizeway.com
 * @version		$Id$
 * @package		ArthurXF
 * @subpackage	product
 */

class product extends ArthurXF{
	public $thisModel = 'product';
	public $tablename1 = 'product_type';
	public $tablename2 = 'product';
	public $tablename3 = 'brand';

	/**
	 * 取得产品类型列表并取得每个产品类别的产品数目
	 * @author	肖飞
	 * @param	string $strProductTypeTitle    产品类型标题
	 * @return  void
	 */
	function getTypeTileWithBrand($where=null,$order=null){
		$strSQL = "SELECT t1.*,count(t2.type_id) as nums FROM $this->tablename2 as t2 LEFT JOIN $this->tablename1 as t1 ON t1.type_id=t2.type_id ".$where." GROUP BY t2.type_id".$order;
		$rs = $this->db->query($strSQL);
		return $rs->fetchall();
	}

	/**
	 * 取得产品类型列表并取得每个产品类别的产品数目
	 * @author	肖飞
	 * @param	string $strProductTypeTitle    产品类型标题
	 * @return  void
	 */
	function getBrandWithProductType($type){
		$strSQL = "SELECT t3.*,count(t2.brand_id) as nums FROM $this->tablename2 as t2 LEFT JOIN $this->tablename3 as t3 ON t2.brand_id=t3.id WHERE t2.type_roue_id like'%:".$type.":%' GROUP BY t2.brand_id ORDER BY t3.initial ASC";
		$rs = $this->db->query($strSQL);
		$arrData = $rs->fetchall();
		//$arrData = $this->loadTableFieldG($arrData);
		return $arrData;
	}

	/**
	 * 删除产品软件
	 * @author	肖飞
	 * @param	int $intInfoID    产品id
	 * @return  void
	 */
	function deleteInfoSoftware($intInfoID){
		if($arr = $this->getInfo($intInfoID)){
			if($arr[0]['software']!=null){
				$strOldFile = $this->arrGPic['FileSavePath'].$arr[0]['software'];
				if (is_file($strOldFile)) {	// 原文件删除
					unlink($strOldFile);
				}
			}else{
				check::AlertExit("ID号为 $intInfoID 的记录并无附件！",-1);
			}
		}
		$strSoftware = $arr[0]['software'];
		unset($arr[0]['software']);
		$arrData = $this->saveTableField($arr[0]);
		if($this->updateInfo($arrData)){
			check::Alert($strSoftware."删除成功！");
		}else{
			check::Alert($strSoftware."删除失败");;
		}
	}

	/**
	 * 删除产品资料文件
	 * @author	肖飞
	 * @param	int $intInfoID    产品id
	 * @return  void
	 */
	function deleteInfoPackage($intInfoID){
		if($arr = $this->getInfo($intInfoID)){
			if($arr[0]['package']!=null){
				$strOldFile = $this->arrGPic['FileSavePath'].$arr[0]['package'];
				if (is_file($strOldFile)) {	// 原文件删除
					unlink($strOldFile);
				}
			}else{
				check::AlertExit("ID号为 $intInfoID 的记录并无附件！",-1);
			}
		}
		$strPackage = $arr[0]['package'];
		unset($arr[0]['package']);
		$arrData = $this->saveTableField($arr[0]);
		if($this->updateInfo($arrData)){
			check::Alert($strPackage."删除成功！");
		}else{
			check::Alert($strPackage."删除失败");;
		}
	}


	/**
	 * 通过 type_id ，递归取出 路由信息
	 * @author	嬴益虎 (whoneed@126.com)
	 * @param	int $type_id		分类id
	 * @param   int $type_parent_id 父类id
	 * @return  varchar
	 */
	function getRouteInfo($type_id,$type_parent_id){

		if($type_parent_id!=0){
				$arrTradeData2 = $this->selectDataG($this->tablename1,"where type_id='".$type_parent_id."'");
				$strRetun=$this->getRouteInfo($arrTradeData2[0]['type_id'],$arrTradeData2[0]['type_parentid']).$type_parent_id.":";
				return $strRetun;
		}else {
			return ':';
		}

	}

	/**
	 * 通过 type_id ，递归取出 路由信息，用于导航 分类一 => 分类一一 => 分类一一一
	 * @author	嬴益虎 (whoneed@126.com)
	 * @param	int $type_id		分类id
	 * @return  array
	 */
	function getNavRouteInfo($type_id){
		global $arrNavInfo;

		$strWhere = "where type_pass=1 and type_id=$type_id";
		$arrProductType = $this->getTypeList($strWhere);

		$arrTemp = array();
		$arrTemp['type_id']		= $arrProductType['0']['type_id'];
		$arrTemp['type_title']  = $arrProductType['0']['type_title'];

		if($arrProductType['0']['type_parentid'] != 0){//不是顶级分类
			$this->getNavRouteInfo($arrProductType['0']['type_parentid']);
			$arrNavInfo[] = $arrTemp;
		}else {
			$arrNavInfo[] = $arrTemp;
		}
	}

}
?>